This article was written by FileMaker, Inc, to help users of FileMaker Server optimize the software for the platform it is being used on. This is an excellent article that addresses all aspects of using Server in your office.

Best Practices for FileMaker Server Performance
This white paper from FileMaker offers tips on managing FileMaker Server and how to tune it for different platforms to optimize performance.


By Tony Miller, Senior Systems Engineer, FileMaker
 
FileMaker Server is, essentially, the cornerstone of the FileMaker Pro family. It's responsible for providing FileMaker Pro databases to FileMaker clients, whether they're FileMaker Pro or FileMaker Pro Unlimited. Time and time again, customers testify that the addition of FileMaker Server changed their experience entirely, allowing for many simultaneous database users (up to 250), routine automated backups of live data, and an extreme enhancement in data reliability and performance. However, far too many times, customers who've purchased FileMaker Server end up not using it to its full potential, or they install and use it incorrectly.

This document is designed to promote a greater understanding of FileMaker Server and help database administrators provide the best possible service to their customers: the database users. The information provided comes from internal FileMaker employees, FileMaker system engineers working in the field, and FileMaker Solutions Alliance partners. The advice is therefore a healthy mix of both internal knowledge and real-world expertise. This document does not, however, cover in entirety the best practices for the operating system, system backups, and enterprise networking.

Database administrators, IT/IS professionals, and users want their database systems to operate robustly and safely. Users rely on the data in database files for a wide variety of management purposes, irrespective of the size of the enterprise. Correct, optimal configuration of FileMaker Server is an integral part of providing that type of reliability. And while it's beyond the scope of this paper, proper architectural design of the multi-user files holding the data is the other integral part. Without both proper design and proper configuration and deployment, a safe, robust, reliable system won't exist.

Because FileMaker Pro is such an easy-to-use application and, more times than not, the database administrator has grown to that position without a strong IT background, the FileMaker Server tends to be treated as a load-and-go solution. The opposite extreme is that the database administrator has a strong IT background and knows little about FileMaker Pro, yet he's been tasked with setting it up; this can result in the server being treated like an enterprise server. FileMaker Pro is easy and it can serve the enterprise, but performance, reliability, and cost are at stake when it's configured improperly. I'll examine these extremes separately.

The workgroup administrator
When a FileMaker Pro database has grown in a workgroup to the point that the organization needs FileMaker Server, the person who developed that database usually becomes the database server administrator. Often, the hardware allotted for this job is inadequate, the operating system is unstable or inappropriate, and the backup routine is abysmal. If you are this person, take heart! You learned to use FileMaker Pro to create the database that's being used to help your organization work more efficiently. Learning to use FileMaker Server will likely be far easier than creating that database. Perhaps the most difficult part of the job will be to secure the appropriate server hardware and operating system to get the job done right. Convince the appropriate people that the data is priceless, and the cost of securing that data should seem negligible.

The trained professional administrator
Fortunately, those who are storing valuable data have come forward for your help. It should also be a comfort to know that they've been using a tool to capture data that will save on IT costs, since FileMaker Server tends to be a "near lights out" solution. Setting up a FileMaker Server may be the easiest server installation you'll have to do in your career. Just one word of caution: Don't treat FileMaker Server quite like an average server. Though there are some similarities and you'll want to provide adequate hardware, a $20,000 quad-processor with 1GB of RAM like you may be accustomed to for servers is a waste of money for FileMaker Server.

Hardware
As everyone knows, there's a difference between the stated minimums and the desirable minimums. FileMaker Server's minimum system requirements are as follows:

Windows:


Mac OS X:
Mac OS:
Linux:
I'll begin by defining what hardware is desirable for FileMaker Server. First, FileMaker Server is a database server and, as such, is I/O-intensive. Its job is to move data between the hard drive subsystem and the network subsystem for consumption by the FileMaker Pro clients. These are the two most important parts of the hardware system, followed by processor and memory.

If you're going to trust your company's valuable data to a database server, treat that server as you would any other mission-critical device. Buy hardware that's certified for use with the chosen operating system. This is easier with Mac OS than it is with Windows or Red Hat Linux, but all machines have strong documentation available describing what is and is not supported. Anyone who's tried to track down intermittent failures on a machine set up with a US$20 video card with no-name drivers understands the value of this. Get a name-brand machine intended to be a server, with redundant power supplies, UPS systems, sufficient cooling, and rack mounting (if useful in your organization). Often, it's important to use a system that server administrators are comfortable with. This is to your advantage when it comes to configuring the hardware and the operating system. As FileMaker Server works on four popular operating systems, this should not be a difficult task.

Storage
A SCSI UltraWide hard drive is highly recommended; a hardware-based SCSI RAID system is even more desirable. If this is absolutely out of the budget range, get the fastest hard drive/controller combination possible. The reason for using SCSI or RAID over ATA/IDE systems is that the SCSI architecture is far more scalable. ATA/IDE only allows for two drives to be connected to a channel, and there are commonly only two channels available, making a total of four drives. One of these is generally a CD-ROM. The asynchronous I/O of SCSI is far superior to IDE because each device has intelligence to allow multiple devices to be "working" simultaneously, returning data to the controller in the most efficient manner. In addition to this, SCSI is generally used for server hardware, and as such is built with higher reliability, wider operating temperature ranges, etc. For more information on the benefits of SCSI over ATA/IDE, search the Internet. Of course, any other hard drive connection, such as USB- or FireWire-based drives, are out of the question. Too much is at stake for a cable to become unplugged and all data to become unavailable.

To further speed the connection, you can add a cache controller if many large files are being used. This piece of hardware will act as a cache to the disks, working much more quickly than physically accessing the disks.

Configure the hard drive subsystem to work as efficiently as possible. For example, if you have two hard drives and two controllers, install each drive on separate controllers rather than both on one. If you have a RAID array and a hardware RAID controller, build one container and partition it (rather than building two containers) so that the controller only has to deal with one set of parity.

Network
Get a good network adapter -- a reliable name brand made for such purposes. With the flood of home networking and cheap adapters on the market, don't think that all are created equal. The cheap network cards tend to use the computer's CPU to perform its instructions rather than having on-board processor. Similar to the hard drive, make sure the network card is of server quality. This is often a difficult task, so research the possibilities, keeping in mind what operating system you'll be using and checking the compatibility.

Consider more than just the network card in this part. Buying the best card on the market may be a colossal waste if it doesn't match the network into which you'll be plugging it. So, buy the fastest network card your network will support and the appropriate network cabling to support that -- e.g., CAT5 cable for 100T and CAT5e (occasionally referred to as CAT6) cable for 1000T. It's been reported that, when the speed and duplex settings of the network card are set to Auto, performance is greatly reduced. Be aware of this and configure the network card and the switch appropriately. Though I won't give details here, advanced systems administrators could implement an EtherChannel to provide throughput greater than a single Ethernet connection could offer.

Another consideration is to have multiple networks set up on the server. Dedicating a network connection to FileMaker Server lets you use the other network connection for things like backup of offline files.

Processor
Toward the end of the list of hardware priorities is the processor. Much of this decision depends on the operating system used and its requirements. Be sure you treat this as a server machine, though. A true Intel Pentium processor is preferred over the Celeron processor, as is an AMD Athlon over a Duron. Again, check the documentation for the chosen operating system for recommendations. The speed will vary -- speed records are broken all the time. However, as with most computer purchases, buy the fastest processor the budget will allow, but remember that FileMaker Server is not extremely processor-intensive, so be careful of overkill.

Although FileMaker Server gains some benefit in a multi-processor situation due to the operating system's intervention, it is not written to make specific use of multiple processors. Therefore, the added expense of a second processor provides little value. The money would be better spent in getting better storage or networking.

Memory
Bringing up the rear of the list is memory. FileMaker Server will tend to take less than 30MB and has a maximum cache size of 40MB. Therefore, on current operating systems (Mac OS 8.6 to 9.2 and Mac OS X, Windows NT and 2000, and Red Hat Linux 7.0) 256MB of RAM is sufficient. With memory as inexpensive as it is now, though, increasing this to 512MB could be beneficial for the operating system's operations.

Operating system
FileMaker Pro is well known as the cross-platform relational database. FileMaker Server is no different. FileMaker Server runs on Macintosh Classic, Mac OS X, Windows NT Server, Windows 2000 Server, and now Red Hat Linux 6.2 and 7.0. Though this is a great benefit, it does make it difficult to document the best practices for the server thoroughly. Each platform has its own set of issues and strengths. Determine which operating system is best for you in your situation. Which operating system the clients are using doesn't matter to the server because all versions communicate with each other.

Macintosh operating systems are known for their ease of use. Since FileMaker Pro got its start in the Macintosh world, many people assume Mac will make the best server platform. However, FileMaker sells the majority of its software to the Windows platform. The Mac OS tends to have a few more intricacies involved with making FileMaker Server run efficiently. Mac OS X promises to make this much easier due to its core design as a true network operating system. One advantage of OS X over the Mac OS 8.x and 9.x platforms is that FileMaker Server runs as a service (or "daemon") and not as an application. This means the OS X FileMaker Server doesn't have to be open and "in the foreground" like its Mac OS 8.x and 9.x sibling. Additionally, the FileMaker Server daemon can run even when there are no users logged into the system, potentially enhancing security at the server.

Beware of the cost saving bug when shopping for the operating system. Avoid operating systems not designed to be a server, such as Windows NT Workstation or Windows 2000 Professional. Though FileMaker Server will install on these versions, they were designed to focus on user applications, not on background services. What this means ultimately is that the operating system is not tuned for your purposes. Use Windows NT Server or Windows 2000 Server to get the job done right. If you really want to save money on the operating system, go for the Linux server, but be sure someone is available who can administer it.

Whatever your choice in operating systems, bear in mind that an operating system is a piece of software that's constantly being improved. Check the relevant Web sites for information pertaining to your operating system and install the appropriate updates. Always check the FileMaker Web site [http://www.filemaker.com] and Tech Info database to ensure compatibility with the updates. For example, a common update to Windows NT and 2000 users is Internet Explorer 5.5. However, this version of IE is incompatible with FileMaker Server 5.0 management console. This is a documented issue, but there are often customers calling technical support to find out why they can't manage their database server anymore. Keep hardware drivers as well as the FileMaker Server software up to date. Mark the calendar to check the FileMaker Web site for upgrades that could save hours in troubleshooting and data recovery down the road.

Tuning
Proper tuning of FileMaker Server seems to be an elusive task. Either it's set up to do far more than it needs to, increasing overhead to a detriment, or it's installed as a substandard application and treated as if it isn't important enough for a dedicated computer. First and foremost, devote a computer exclusively to the task of being the FileMaker Server. Don't attempt to make this machine be the file server, Web server, e-mail server, domain controller, DNS server, or anything else. The FileMaker Server documentation clearly states that this is the ideal situation. Dedicating a machine isn't just a good idea -- it's imperative if you want FileMaker to work reliably with great performance. Many smaller businesses successfully use the FileMaker Server as the file server, domain server, etc., but this article defines best practices, not possibilities. This practice is detrimental to FileMaker's performance and can lead to reduced reliability.

Consider these best practices:
Mac OS 8.6 to 9.x tuning
The Mac OS doesn't provide preemptive multitasking, and it handles memory allocation in a unique way. Therefore, it's important that FileMaker Server be the only thing this computer is used for, even more so than with other operating systems. Follow these guidelines:
Mac OS X tuning
Mac OS X is a totally different Mac operating system from the core up. It's based on BSD UNIX and was developed as a network operating system. It has preemptive multitasking, protected memory, and true virtual memory. FileMaker Server for OS X has been re-written as a UNIX service with a Cocoa interface. With these changes, the server runs as a daemon under OS X, meaning a lot of the tuning issues traditionally found with the Mac OS no longer apply. However, similar to Mac Classic, you still have to start an application to initialize FileMaker Server from a graphical interface. You can launch the FileMaker Server Config application (this is where you set all of the Server settings) and click on the Start Server button. After you do this, the daemon is running and you can quit the FileMaker Server Config application; the user can log out, leaving the Server safely running in the background. Through the use of the underlying UNIX core, you can start the Server daemon automatically. FileMaker is in the process of publishing a document describing the process of setting this up.

Windows tuning
The Windows NT/2000 operating system is often the preferred OS for corporate system administrators. Therefore, there often tends to be more familiarity with this OS. Unfortunately, with this familiarity comes a set of preconceived notions about how FileMaker Server should be tuned. Some of those notions are well founded, while others can be detrimental.

Keep these best practices in mind when running FileMaker Server on Windows:
Red Hat Linux tuning
The Red Hat Linux version of FileMaker Server is quite new, so the company has little real-world information on tuning FileMaker Server. However, I do know that some things are desirable. As with the other operating systems, keep extraneous work to a minimum. View what processes are using the processor most with a tool like "top." Core elements of the system will usually rank high on the list with FileMaker Server in high demand.

Proper partitioning is equally important here, and perhaps easier to manage than in other operating systems. When configuring the computer, set up the /var/fmserver mount point as its own partition, preferably of a RAID 5 configuration.

Backups
One of FileMaker Server's (FMS) top features is the ability to back up live data. Starting with version 5, FileMaker made it easier to perform automated backups than ever before. Using a graphical interface on all but the Linux offering, you can schedule a backup to happen at specific times. When one of these backups runs, the basic process flows like this:
During this process, FMP clients need not disconnect from the server. If anyone makes a request requiring the server's attention, they simply wait until the server resumes.

FileMaker recommends that this process backs up the database files to a local drive, thus allowing the server to return to its primary task -- sharing databases -- as soon as it possibly can. This is just one more reason to have a fast hard drive subsystem. From this backup directory, you can configure a true backup to removable media, either with an enterprise backup software or by another method left to your selection.

In the event of any server failure, you should use one of the backed up files. Any failure could result in corrupted files. Even if the files appear to be fine, some corruption could be buried in the file.

A common backup procedure is to make local backups at an interval relating to the amount of data that could be lost. For example, at 6:00 a.m., 9:00 a.m., noon, 3:00 p.m., 6:00 p.m., and 11:30 p.m. weekdays, backups are done locally. Then, at midnight, an incremental backup of the entire system is done to the enterprise backup system. Finally, Friday night at midnight, a full system backup is done. The backup tapes are duplicated and a copy stored at a remote location. This way, if the server goes down for some reason other than catastrophic drive failure of multiple drives (assuming a RAID 5 configuration), you can use the more recent backup of the data files, making a maximum of 3 hours of lost data. If there's a catastrophic drive failure, then you can use the previous evening's tape, losing a maximum of one day's data. Of course, you should tailor these procedures to your situation and data value. Often, a properly configured server will only require a local recovery to restore data after a user has accidentally deleted data.

Flawless access
Because the data people have put into FileMaker Pro often runs the organization, from the grass-roots level to the enterprise, it's important to provide flawless access to data in any enterprise. The only way to provide this type of access is to treat FileMaker Server with respect. I've discussed several key elements to consider when configuring the server. For further information on specific topics, reference the TechInfo database at http://www.filemaker.com.

In a test of three servers running under these types of guidelines, all have run flawlessly, giving 24/7 support. Exceptions of a network switch getting hit by lightning and a maintenance person unplugging the server are hardly the fault of the FileMaker Server. However, restoring data from backup after these incidents was simple, quick, and nearly transparent to users. Implementing similar configurations will result in similar results.

About the Author:
Tony Miller, FileMaker senior systems engineer for northeastern U.S., has been with FileMaker since 2000, consulting with customers, writing technical briefs, and presenting the benefits of FileMaker. Prior to this he was a FileMaker developer in the midwest with FSA Partner C&H Consulting.

Copyright ©2003 ADVISOR MEDIA, Inc. All Rights Reserved.
ADVISOR® is a registered trademark of ADVISOR MEDIA, Inc. in the United States and other countries.
Trademarks & Terms of Use.